# FidoConfig Manual

## a way to make your unix fido-capable

# Цели создания

Целью написания fidoconfig было создание единого конфигурационного файла для нескольких разных fido программ: редактора, тоссера и т.д. Дополнительной целью было создание одной библиотеки (fidoconfig), которая может быть использована всеми программами. Преимущество в том, что вам придется редактировать один конфигурационный файл, так что изменять параметры системы намного проще, чем в обычных программных пакетах. Также баги могут прокрасться только в одну библиотеку, а не в тысячи и тысячи библиотек. Конфиг может быть использован во всех операционных системах. Библиотека также должна быть вполне портируемой.

# Конфигурационный файл

Это раздел описывает написание конфигурационного файла fidoconfig, используемые ключевые слова и расположение файла.

## Расположение конфигурационного файла

Библиотека fidoconfig ищет конфигурационный файл в разных местах:

linux:
  /etc/fido/config
freebsd:
  /usr/local/etc/fido/config
os2/win32/и т.д.:
  в текущей директории

Если вы собираете библиотеку с помощью huskymak.cfg, расположение может быть переопределено параметром CFGDIR.

Также вы можете установить переменную окружения `FIDOCONFIG`, указывающую на конфигурационный файл:

    set FIDOCONFIG=e:\bbs\fidoconfig\config

    FIDOCONFIG=~/fidoconfig/config
    export FIDOCONFIG

Конфигурационный(е) файл(ы) должны быть доступны для чтения. Если вы собираетесь использовать возможности автосоздания арий HPT/HTICK/и т.д., файлы должны быть доступны для записи.

## Синтаксис

Все символы не регистрозависимы.

{<whiteSpace>} в начале строки игнорируется.

Все ключевые слова обрабатываются по порядку, первое найденное подходящее слово признается действующим. Если допускается несколько ключевых слов одного типа, действующим считается последнее, подходящее ситуации. Другими словами, следующее определение перебивает предыдущее. Если ключевое слово не найдено, используеся значение по умолчанию.

"#" в начале строки или <whiteSpace>#<whiteSpace> в строке означают начало комментария. Комментарий заканчивается с концом строки. Символ комментария "#" может быть переопределен с помощью токена `commentChar`.

Если первое слово в строке - неизвестно, программа выходит с сообщением об ошибке.

Каждое ключевое слово должно находиться на отдельной строке.

Параметры ключевых слов:

`<integer>`
  строка, содержащая целые числа, например: `1234567890`
`<string>`
  текстовая строка
`<bool>`
  может быть установлено в "1", "0", "yes", "no", "on", "off", а также без параметров (это означает "on").
`<addr>`
  адресная строка вида zone:net/node[.point][@domain]
``
  пример: `2:5000/117`
`<file>`
  имя файла. путь может быть опущен.
`<path>`
  только путь. завершающий слэш не обязателен.

Замечание! `[<parameter>]` означает, что параметр может быть опущен.

Библиотека FIDOCONFIG может устанавливать внутренние переменные:

    set basedir=/home/user/fido/

Переменная `[OS]` автоматически устанавливается для следующих ОС:

UNIX
  Все unix-like ОС: Linux, *BSD, BeOS, ...
OS/2
WIN
MSDOS

Вы можете установить что-то вроде:

    if [OS]==UNIX
    tearline `uptime`
    endif

Некоторые программы могут быть скомпилированы с переменной module. Она может быть использована для ускорения парсинга конфига:

    if [module]==htick
    include /etc/ftn/fileareas
    endif

Если работает HPT, файлобласти не парсятся, так как [module]==hpt.

Доступны следующие modules:

hpt (Highly Portable Tosser)
htick (Husky Ticker)
hptutil
hpucode

Также могут быть использованы внешние переменные:

    autoexec.bat:
    SET VAR=myvar

    fidoconfig:
    if [VAR]==myvar
    ...
    else
    ...
    endif

    ifdef UNIX
    MsgBaseDir  [home]/msgbase
    endif

Вы можете использовать программный вывод через ``cmd``. Это доступно только для UNIX и OS/2+EMX:

    Name Power Station under `uname -mrs`

Список доступных команд:

set, if, if not, else, elseif, ifdef, ifndef, endif.

Вы можете сравнивать с шаблоном, используя =~ и !~ вместо == и !=:

    if [VAR] =~ *substr*
    ...
    endif
    if [VAR] !~ bla?bla*
    ...
    endif

## Общие для HUSKY-программ ключевые слова

Эти ключевые слова могут использоваться несколькими программами. Более спицифичные ключевые слова вы найдете в документациях соотвествующих программ.

### version

Синтаксис:
  `version <integer>.<integer>`
Пример:
  `version 0.13`

Здесь вы указываете, к какой версии fidoconfig относится ваш конфиг. В настоящее время этот оператор ничего не делает.

Этот оператор не может повторяться.

### name

Синтаксис:
  `name <string>`
Пример:
  `name Leetebrok BBS`

Здесь вы указываете название вашей системы.

Этот оператор не может повторяться.

### location

Синтаксис:
  `location <string>`
Пример:
  `location Dusseldorf`

Здесь вы указываете свое местоположение.

Этот оператор не может повторяться.

### sysop

Синтаксис:
  `sysop <string>`
Пример:
  `sysop Matthias Tichy`

С помощью этого ключевого слова вы указываете свое имя.

Этот оператор не может повторяться.

### include

Синтаксис:
  `include <file>`
Пример:
  `include /etc/fido/areas`

Вы можете включать другие файлы в ваш конфигурационный файл. Например, если вы хотите иметь меняющиеся части конфига, вы можете включить файл и (через cron или вручную) изменять его содержание без изменения остального конфига. Вы также можете рзделить конфиг на несколько частей. Таким образом вы сможете иметь определения файларий отдельно от эхоарий. Это даст более легкий обзор конфига.

Этот оператор может повторяться. Но не делайте рекурсивных включений, т.е. включений файла, который включает другой файл, который включает первый. Хотя в большинстве случаев это будет обнаружено и исправлено, не исключен случай, когда обнаружение не произойдет.

### address

Синтаксис:
  `Address <addr>`
Пример:
  `Address 2:2433/1245`

Эта команда указывает, какие aka имеет ваша система. Это оператор полностью 5d-совместим, что означает, что вы можете иметь адреса вида `2:2433/1245.1@fidonet.org`. Первый адрес является основным и будет использоваться тоссером в различных случаях, например, если номер зоны не может быть получен из кладжа @INTL в нетмейловом письме.

Этот оператор может повторяться. fidoconfig не полностью поддерживает имя домена

### commentChar

Синтаксис:
  `commentChar <char>`
Пример:
  `commentChar ;`

Эта команда определяет символ, используемый для обозначения остатка строки как комментария. По умолчанию - '#'.

Этот оператор может повторяться.

### outbound

Синтаксис:
  `outbound <path>`
Пример:
  `outbound /var/spool/fido/out`

Эта команда определяет ваш путь к binkley-style аутбаунду. Такой аутбаунд состоит из базового пути и поддиректорий. Каждая поддиректория предоставляет место для всех файлов одной зоны. Базовый путь - путь вашей зоны по умолчанию.

Example:

    /var/spool/fido/out

    Эта директория содержит файлы для вашей базовой зоны.
    /var/spool/fido/out.003

    Эта директория содержит файлы для 3-й зоны.
    /var/spool/fido/out.00A

    Эта директория содержит файлы для 10-й зоны.

Директория зоны содержит flow-файлы для каждого узла. Flow-файл узла имеет имя вида NNNNFFFF.?lo

    NNNN

    4-значный номер сети узла в 16-ричном формате.
    FFFF

    4-значный номер узла в 16-ричном формате.
    ?

    Здесь может быть выбран flavour почты. h-hold, c-crash,
    f-normal, d-direct, i-immediate.

Для пойнтов создаются поддиректории с именем flow-файла узла и суффиксом .pnt. В этой директории имена flow-файлов имеют вид PPPPPPPP (8-значные номера пойнтов в 16-ричном формате).

Для более глубокого понимания binkley-style outbound смотрите документацию binkley-term и исходные коды.

Этот оператор не может повторяться.

### inbound

Синтаксис:
  `inbound <path>`
Пример:
  `inbound /var/spool/fido/in`

Эта команда определяет, где хранятся входящие файлы. Эта директория - базовая, что означает, что туда попадают файлы в случае непарольной сессии и если удаленная система не указана в нод- или пойнт-листах. Из этого инбаунда тоссится только нетмейл.

Этот оператор не может повторяться.

### tempDir

Синтаксис:
  `tempDir <path>`
Пример:
  `tempDir /var/tmp`

Эта команда определяет путь, в котором должны храниться временные файлы ваших fido-програм. Эта директория может очищаться при загрузке системы. Хорошая идея - использовать для этого виртуальный диск в памяти.

Значение по умолчанию - путь, определенный переменными окружения TEMP, TMP или TMPDIR (первой используется TEMP, если она не определена, то TMP, затем TMPDIR). Если эти переменные окружения не определены: - win32 версии используют %WINDIR%\TEMP (обычно c:\windows\temp в Win9x/Me и c:\winnt\temp в Windows NT/2000/XP) - версии для unix-like ОС используют /tmp - остальные версии используют c:\

Этот оператор не может повторяться.

### logfiledir

Синтаксис:
  `logFileDir <path>`
Пример:
  `logFileDir /var/spool/log/fido`

Эта команда определяет путь, где должны храниться лог-файлы fido-программ.

Этот оператор не может повторяться.

Некоторые программы используют logFileDir для постоянных временных/рабочих файлов.

### syslogfacility

Синтаксис:
  `syslogFacility <facility>`
Пример:
  `syslogFacility local0`

Некоторые программы Husky могут писать логи через syslogd вместо лог-файла. Для таких программ это ключевое слово определяет, какое средство использовать для записи в syslog. Syslogd будет использовать это средство для определения, в какой лог-файл syslog это лог-сообщение будет записано. Общие имена, которые могут быть использованы: `mail`, `news`, `uucp`, `local0`. Точные значения зависят от вашей операционной системы. Более полная информация дана в man pages для ``syslog.conf'` или ``/usr/include/sys/syslog.h'`.

Запись лога через syslogd поддерживается только для платформ UNIX, и в настоящее время используется только ``herp'` и никакой другой программой Husky. Пишет ли программа в лог-файл или через syslog, или обоими способами, зависит только от программы, но не от вашего файла fidoconfig. Обращайтесь к собственной документации программы.

### LogLevels

Синтаксис:
  `loglevels <string>`
Пример:
  `loglevels 1345789,A-F Q`

Этот оператор определяет список уровней лога для записи в лог-файл. Тире означает диапазон (A-F раскрывается как ABCDEF). Распознаются только чиловые и буквенные уровни лога, остальные игнорируются.

В примере мы выводим в лог сообщения с уровнями 1,3,4,5,7,8,9,A,B,C,D,E,F,Q.

Уровни детализации лога:

1 - начало, конец программы
2 - проверка дупов
3 - линковка сообщений
4 - сканирование сообщений
5 - размещение сообщений
6 - строки запуска
7 - бандлы, pkt, линки, фреки, роутинг файлов, файл-аттачи, паковка msg
8 - areafix, relink, автосоздание арий
9 - сообщения об ошибках (критических, обычно с выходом из программы)
0 - создание файлов-флагов
A - сообщения об обычных ошибках (вывод сообщения и продолжение выполнения)
B - предупреждения
C - информационные сообщения
D - статистика
E - суммарная статистика
F - вывод названия и версии программы
G - отправка/отправленное сообщение
H - перекодировка и чтение/запись таблиц перекодировки
I - генерация или проверка MSGID
J - фаза эхомейла
K - фаза файлбоксов
L - фаза нетмейла
M - создание файла
N - удаление файла
O - операции с открытым файлом (чтение, запись, поиск, ...)
P - операции с директориями (создание, удаление, переименование, ...)
Q - парсинг и создание E-mail сообщений
R - усечение файла
S - отправка/отправленный файл
T - тест файлов (существование, права и т.д.)
U - вызов функций (вход и выход из функции)
V - зарезервировано
W - зарезервировано
X - создание имен файлов
Y - линковка базы сообщений (некоторые фазы hptlink и т.д.)
Z - отладочные сообщения: исходные строки (контрольные точки функций)
a-z - отладочные сообщения

По умолчанию: 1234567890ABCDEF

Этот оператор не может повторяться.

### ScreenLogLevels

Синтаксис:
  `screenloglevels <string>`
Пример:
  `screenloglevels 2345789,A-C`

Устанавливает уровни вывода лога на экран. Смотрите loglevels.

Этот оператор не может повторяться.

### seqdir

Синтаксис:
  `seqDir <path>`
Пример:
  `seqDir /var/spool/fido/seq`

Устанавливает путь к текущей msgid-последовательности.

По умолчанию используется переменная окружения SEQDIR.

Этот оператор не может повторяться.

### seqoutrun

Синтаксис:
  `seqOutrun <string>`
Пример:
  `seqOutrun 1m`

Устанавливает максимальное превышение msgid-последоваельностью текущего времени.

Используются десятичные числа с суффиксом (опционально).

Суффиксы:

y - год (365 дней)
m - месяц (31 день)
w - неделя (7 дней)
d - день
h - час

Секунды устанавливаются без суффикса.

По умолчанию используется переменная окружения SEQOUT или 3y, если она не определена.

Этот оператор не может повторяться.

### Pack

Синтаксис:
  `Pack zip|tgz|rar|arc|arj|..... <call>`
Пример:
  `Pack zip zip -9 -g -q $a $f`

Это оператор определяет командную строку архиватора. Файл будет перемещен в архив, что значит, что он будет удален с жесткого диска. Он останется только в архиве.

$a заменяется на имя файла архива.

$f заменяется на имя файла, который должен быть упакован.

Если какая-либо husky программа скомпилирована с hptzip, можно использовать следующее определение:

    Pack zip zipInternal

Этот оператор может повторяться.

Смотрите также документацию к hpt и htick.

### Замечание

На некоторых ОС, если вызванная программа не найдена (не может быть запущена), результат команды pack не определен. (Например, DOS. Причина: command.com не возвращает код ошибки, если исполняемый файл не найден). Чтобы устранить опасность, пожалуйста, прописывайте архиваторы с полными путями.

### Unpack

Синтаксис:
  `Unpack "<call>" <offset> <matchcode>`
Пример для DOS:

      Unpack  "c:\arc\pkunpak /r $a $p $f"                 0 1a
      Unpack  "c:\arc\pak e /wn $a $p"                    -2 fe
      Unpack  "c:\arc\lha e /m $a $p $f"                   2 2d6c68
      Unpack  "c:\arc\zoo e:O $a $p $f"                    0 5a4f4f
      Unpack  "c:\arc\jar e -y $a $p $f"                  14 1a4a61721b
      # *.rar
      Unpack  "c:\arc\unrar e -y -c- -o+ -inul $a $p $f"   0 52617221
      # rar-sfx/DOS
      Unpack  "c:\arc\unrar e -y -c- -o+ -inul $a $p $f"  28 52534658

Пример для Linux:

      Unpack  "/usr/bin/zoo e:O $a $p $f"                    0 5a4f4f
      Unpack  "/usr/bin/arc eno $a $p'*.*' $f"               0 1a
      Unpack  "/usr/bin/unzip -joLqq $a -d $p $f"            0 504b0304
      Unpack  "cd $p && /usr/bin/unarj e $a $f>/dev/null"    0 60ea
      Unpack  "/usr/bin/unrar e -y -c- -o+ -inul $a $p $f"   0 52617221
      Unpack  "/usr/bin/unrar e -y -c- -o+ -inul $a $p $f"  28 52534658
      Unpack  "/usr/bin/jar e -y $a $p $f"                  14 1a4a61721b
      Unpack  "cd $p && /usr/bin/ha eyq -e $a $f"            0 4841

Этот оператор определяет вызовы определенных распаковщиков в соответствии с идентификатором в архивном файле.

`call` строка вызова архиватора (заключена в кавычки!);

`offset` позиция идентификатора в архивном файле;

`match code` идентификатор в 16-ричном виде, ?? раскрывается как "любой байт";

`$a` заменяется на файл, который должен быть извлечен из архива;

`$p` заменяется на путь, куда распаковывать файлы (обычно tempoutbound);

`$f` заменяется именем файла с описанием, если он существует (используется htick, смотрите токен FileDescName; возможно, и другими husky программами).

    Пример: unpack "unzip -joLqq $a -d $p $f" 0 504b0304

           файлы, упакованные zip, распознаются по
             504b0304(hex) по смещению 0(integer)
           они могут быть распакованы htick с помощью команды
           "unzip -joLqq <filename> -d <path> <description_filename>"

Если какая-либо husky программа скомпилирована с hptzip, можно использовать следующее определение:

    Unpack zip zipInternal 0 504b0304

Этот оператор может повторяться.

Смотрите также документацию к hpt и htick.

### Замечание

На некоторых ОС, если вызванная программа не найдена (не может быть запущена), результат команды unpack не определен. (Например, DOS. Причина: command.com не возвращает код ошибки, если исполняемый файл не найден). Чтобы устранить опасность, пожалуйста, прописывайте распаковщики с полными путями.

### link

Синтаксис:
  `link <string>`
Пример:
  `link Matthias Tichy`

Этот оператор начинает новое описание линка. Все операторы (если они имеют отношение к линкам), находящиеся до следующего оператора link, меняют настройки только этого линка. Имя - это имя линка.

Этот оператор может повторяться.

### linkdefaults

Синтаксис:
  `linkdefaults [begin | end | destroy]`
Пример:
  `linkdefaults`

Этот оператор начинает секцию определений по умолчанию для линков. Все последующие (относящиеся к линкам) операторы изменяют настройки линка по умолчанию до тех пор, пока не найден один из операторов `'link'`, `'linkdefaults end'`, `'linkdefaults destroy'`. Все параметры, указанные в секциях linkdefaults, копируются в настройки линка всякий раз, когда в конфигурационном файле найден оператор `'link'`. Относящиеся к линкам операторы, найденные после `'linkdefaults end'` или `'linkdefaults destroy'`, или до первого оператора `'link'` или `'linkdefaults'`, рассматриваются как ошибки. Оператор `'linkdefaults'` без `'begin'` или `'end'` означает `'linkdefaults begin'`. `'linkdefaults destroy'` уничтожает все настройки по умолчанию.

Будьте осторожны с `Pause`, `Export` и т.д. ;-)

Этот оператор может повторяться. Новые определения заменяют предыдущие.

### aka

Синтаксис:
  `aka <addr>`
Пример:
  `aka 2:2433/1245`

Этот оператор определяет aka текущего линка.

Этот оператор может повторяться только для разных линков.

### ouraka

Синтаксис:
  `ouraka <addr>`
Пример:
  `ouraka 2:2433/1247`

Этот оператор определяет aka, который используется с этим линком.

Этот оператор может повторяться только для разных линков.

### password

Синтаксис:
  `password [<string>]`
Пример:
  `password secret`

Этот оператор устанавливает пароль по умолчанию для линка. Если вы не задаете другие пароли, они совпадают с этим. Пароль регистронезависим.

Этот оператор может повторяться только для разных линков.

### pktpwd

Синтаксис:
  `pktpwd [<string>]`
Пример:
  `pktpwd geheim`

Этот оператор устанавливает пароль на pkt для данного линка. Пароль должен быть не длиннее 8 символов (из-за ограничений другого ПО). Допустимо пустое значение.

Этот оператор может повторяться только для разных линков.

### ticpwd

Синтаксис:
  `ticpwd [<string>]`
Пример:
  `ticpwd geheim`

Этот оператор устанавливает пароль на tic для данного линка. Пароль должен быть не длиннее 8 символов (из-за ограничений другого ПО). Допустимо пустое значение.

Этот оператор может повторяться только для разных линков.

### areafixpwd

Синтаксис:
  `areafixpwd [<string>]`
Пример:
  `areafixpwd geheim`

Этот оператор устанавливает пароль на areafix для данного линка. Пустое значение допустимо, но не рекомендуется.

Этот оператор может повторяться только для разных линков.

### filefixpwd

Синтаксис:
  `filefixpwd [<string>]`
Пример:
  `filefixpwd geheim`

Этот оператор устанавливает пароль на filefix для данного линка. Пустое значение допустимо, но не рекомендуется.

Этот оператор может повторяться только для разных линков.

### bbspwd

Синтаксис:
  `bbspwd [<string>]`
Пример:
  `bbspwd geheim`

Этот оператор устанавливает пароль на BBS для данного линка. Допустимо пустое значение.

Этот оператор может повторяться только для разных линков.

### sessionpwd

Синтаксис:
  `sessionpwd [<string>]`
Пример:
  `sessionpwd geheim`

Этот оператор устанавливает пароль на сессию для данного линка. Допустимо пустое значение.

Этот оператор может повторяться только для разных линков.

### handle

Синтаксис:
  `handle <name>`
Пример:
  `handle eddie`

Этот оператор задает никнейм линка. Он предназначается для BBS.

Этот оператор может повторяться только для разных линков.

### packer

Синтаксис:
  `packer <packer>`
Пример:
  `packer zip`

Это оператор устанавливает паковщик для линка. Вы можете использовать паковщик, который определили ранее оператором pack. Если этот оператор отсутствует, или установлено `packer none`, почта не будет паковаться. Pkt будут складываться в аутбаунд.

Этот оператор может повторяться только для разных линков.

### badarea

Синтаксис:
  `BadArea <name> <file> [-b <msgbase>] [Options]`
Пример:
  `BadArea badarea /var/spool/fido/msgb/bad -b Squish`

Этот оператор определяет `BadArea`. Смотрите документацию на HPT.

Этот оператор не может повторяться.

### dupearea

Синтаксис:
  `dupeArea <name> <file> [-b <msgbase>] [Options]`
Пример:
  `dupeArea dupeArea /var/spool/fido/msgb/dupes -b Squish`

Этот оператор определяет `DupeArea`. Смотрите документацию на HPT.

Этот оператор не может повторяться.

### echoarea

Синтаксис:
  `EchoArea <name> <file> [-b <msgbase>] [Options] [linkAKAs] [linkOptions]`
Пример:
  `EchoArea linux.develop.ger /var/spool/fido/msgb/linux.develop.ger -b Squish -a 2:2433/1247 -g A -dupeCheck move -dupehistory 11 -d "Linux development" 2:2433/1245 -def`

Этот оператор определяет эхообласть. Смотрите документацию на HPT.

Этот оператор может повторяться.

### netmailarea

Синтаксис:
  `NetmailArea <name> <file> [-b <msgbase>] [Options]`
Пример:
  `NetmailArea netmail /var/spool/fido/msgb/netmail -b Squish`

Этот оператор определяет `NetMailArea`. Смотрите документацию на HPT.

Этот оператор может повторяться.

### localarea

Синтаксис:
  `LocalArea <name> <file> [-b <msgbase>] [Options]`
Пример:
  `LocalArea MyBBSarea /var/spool/fido/msgb/MyBBS -b Squish`

Этот оператор определяет `LocalArea`: область сообщений на BBS. Смотрите документацию на HPT.

### filearea

Синтаксис:
  `FileArea <name> <fileareapath> <uplink> [options] [<downlinks>]`
Пример:
  `filearea Photoes /var/spool/fido/fileecho/Photoes 2:50/1 -d "Sysop photoes"`

Этот оператор определяет `FileArea`: определение файл-эхи. Смотрите документацию на HTick.

### bbsarea

Синтаксис:
  `bbsarea <name> <bbsareapath>`
Пример:
  `BBSarea Incoming /var/spool/fido/BBS/incoming`

Этот оператор определяет `BBSArea`: определение файл-области BBS. Используется при построении файл-листа. Смотрите документацию на HTick.

## Ключевые слова Highly Portable Tosser

Эта секция содержит только список ключевых слов. Читайте документацию на HPT.

    accessgrp
    address
    addtoseen
    advancedareafix
    advisorylock
    afterunpack
    aka
    allowemptypktpwd
    allowpktaddrdiffer
    arcmailsize
    arcnetmail
    areafix
    areafixecholimit
    areafixfrompkt
    areafixhelp
    areafixReportsAttr
    areafixkillrequests
    areafixmsgsize
    areafixnames
    areafixorigin
    areafixpwd
    areafixqueryreports
    areafixqueuefile
    areafixsplitstr
    areafixfromname
    areasfilenamecase
    areasmaxdupeage
    autoareacreate
    autoareacreatedefaults
    autoareacreatefile
    autoareacreateflag
    autoareacreatesubdirs
    autopassive
    autopause
    availlist
    badarea
    beforepack
    bundlenamestyle
    carbonaddr
    carbonandquit
    carboncopy
    carbondelete
    carbonexcludefwdfrom
    carbonextern
    carbonfrom
    carbonfromarea
    carbongroups
    carbonkeepsb
    carbonkludge
    carbonmove
    carbonout
    carbonreason
    carbonrule
    carbonsubj
    carbontext
    carbonto
    createareascase
    createfwdnonpass
    defarcmailsize
    denyfwdfile
    denyfwdmask
    denyfwdreqaccess
    denyuncondfwdreqaccess
    disabletid
    disablepid
    dupearea
    dupebasetype
    dupehistorydir
    echoarea
    echoareadefaults
    echomailflavour
    echotosslog
    excludepassthroughcarbon
    export
    filebox
    fileboxalways
    fileboxesdir
    forwardareapriority
    forwardpkts
    forwardrequestfile
    forwardrequestmask
    forwardrequests
    forwardrequesttimeout
    hptperlfile
    idlepassthrutimeout
    ignorecapword
    ignoreseen
    import
    importlog
    inbound
    include
    intab
    keeptrsfiles
    keeptrsmail
    killedrequesttimeout
    kludgeareanetmail
    level
    link
    linkbundlenamestyle
    linkdefaults
    linkfilebasedir
    linkgrp
    linkmsgbasedir
    linkwithimportlog
    localarea
    localinbound
    lockfile
    logechotoscreen
    mandatory
    mindiskfreespace
    msgbasedir
    name
    netarea
    netmailarea
    netmailextern
    netmailflag
    newarearefusefile
    noprocessbundles
    norules
    notvalidfilenamechars
    optgrp
    origin
    ouraka
    outbound
    outtab
    pack
    packaka
    packer
    packnetmailonscan
    password
    pause
    pktpwd
    pktsize
    processpkt
    protinbound
    publicgroup
    readonly
    reducedseenby
    remap
    remoterobotname
    reportto
    robotsarea
    route
    routefile
    routemail
    rulesdir
    separatebundles
    setconsoletitle
    statlog
    sysop
    tearline
    tempinbound
    tempoutbound
    tossingext
    unpack
    writeonly

## Ключевые слова HTick (Husky Ticker)

Эта секция содержит только список ключевых слов. Читайте документацию на HTick.

    AddDLC
    AnnAreaTag
    AnnAddrfrom
    AnnAddrto
    AnnExclude
    AnnFileOrigin
    AnnFileRFrom
    AnnFrom
    AnnInclude
    AnnMessFlags
    AnnOrigin
    AnnounceSpool
    AnnSubj
    AnnTo
    AutoFileCreateFlag
    BbsArea
    BusyFileDir
    ConvertLongNames
    ConvertShortNames
    DLCDigits
    ExecOnFile
    FileArea
    FileAreaBaseDir
    FileAreaCreatePerms
    FileDescPos
    FileAreaDefaults
    FileDescName
    FileEchoFlavour
    FileLDescString
    FileFixFromName
    FileFixHelp
    FileFixReportsAttr
    FileFixKillRequests
    FileFixNames
    MaxTicLineLength
    OriginInAnnounce (obsoleted)
    PassFileAreaDir
    RemoteFileRobotName
    SaveTic
    TicOutbound

     In Link section:
      AutoFileCreate
      AutoFileCreateDefaults
      AutoFileCreateFile
      AutoFileCreateSubdirs
      DelNotRecievedTIC
      FileFixEchoLimit
      FileFixFSC87Subset
      ForwardFilePriority
      ForwardFileRequestFile
      ForwardFileRequests
      NoTIC
      LinkFileBaseDir
      PackAka
      TickerPackToBox

## Ключевые слова NLTools

### nodelistDir

Синтаксис:
  `nodelistDir <path>`
Пример:
  `nodelistDir /var/spool/fido/nodelist`

Эта команда указывает путь, где актуальные нодлисты находятся, или куда они должны быть записаны. Путь содержит исходный нодлист (see section nodelist). Тут будут также храниться и скомпилированные нодлисты вроде ``FIDOUSER.LST'`.

Этот оператор не может повторяться.

### fidoUserList

Синтаксис:
  `fidoUserList <filename>`
Пример:
  `fidoUserList fidouser.lst`

Если этот оператор определен, компилятор нодлиста (например, `ulc`) создаст в директории с нодлистами (see section nodelistDir) файл с заданным именем - список пользователей. Это простой текстовый файл со строками фиксированной длины, который содержит имена пользоватетелей (узлов, пойнтов) и соответствующие им узловые или пойнтовые адреса. Список отсортирован по именам пользователей (не учитывая регистр), так что он может быть быстро просмотрен в поисках адреса. Формат "список пользователей fido" понимает, к примеру, `msged`.

### nodelist

Синтаксис:
  `Nodelist <name>`
Пример:
  `Nodelist nodelist` or `Nodelist points24`

Этот оператор начинает новое определение нодлиста. Все последующие операторы, находящиеся до следующего оператора `nodelist` и относящиеся к нодлистам, изменяют настройки этого нодлиста.

Имя, которое вы указываете, должно совпадать с базовым именем (без расширения и пути) исходного распакованного файла нодлиста. Утилиты husky `ulc` и `nlupdate` проверяют совпадение имен без учета регистра, но другим утилитам может понадобиться точное написание. Ожидается, что исходный нодлист находится в директории нодлистов (see section nodelistDir).

### diffupdate

Синтаксис:
  `DiffUpdate <path_and_basname>`
Пример:
  `DiffUpdate /var/spool/filebase/nodediff/nodediff`

Здесь вы можете указать базовое имя файлов изменения нодлиста (ноддиффов), которые используются для поддержания свежести нодлиста. Аргументом DiffUpdate является полное, с путем, имя ноддиффа, без расширения. Например, если файлэха находится в ``/var/spool/filebase/24000'`, куда ваш тикер складывает апдейты для немецкого пойнтлиста, и эти апдейты имеют имена ``points24.a26'`, ``points24.a33'` и т.д., то вы используете

    DiffUpdate /var/spool/filebase/24000/points24

Ключевое слово `Diffupdate` используется, например, `nlupdate`. Он распакует ноддифф (если он заархивирован, конечно, неархивированные диффы также поддерживаются), применит дифф к соответствующему нодлисту и удалит временно распакованный дифф.

### fullupdate

Синтаксис:
  `FullUpdate <path_and_basname>`
Пример:
  `FullUpdate /var/spool/filebase/nodelist/nodelist`

Этот оператор работает как `DiffUpdate` (see section diffupdate). Разница в том, что здесь вы не указываете расположение файла ноддиффа, а указываете, где могут быть найдены файлы/архивы полных нодлистов. Некоторые левонеты (обычно) не распространяют файлы ноддиффов, но просто хатчат свежие нодлисты каждые несколько недель. В этом случае вам понадобится оператор `FullUpdate`.

### defaultzone

Синтаксис:
  `DefaultZone <zone>`
Пример:
  `DefaultZone 2`

Некоторые нодлисты не начинаются с указания ``Zone'`. Это случай, например, немецкого пойнтлиста, но он возможен и в левонетах, где всего одна зона. В этом случае вы можете использовать ключевое слово `DefaultZone`, чтобы указать номер зоны по умолчанию для всех узлов, указанных в нодлисте.

### nodelistformat

Синтаксис:
  `Nodelistformat <format>`
Пример:
  `NodelistFormat standard` or `NodelistFormat Points24`

Здесь вы можете указать формат распакованного нодлиста. По умолчанию это ``standard'` - стандартный формат нодлиста Fidonet. Вы можете также указать ``points24'`, что нужно компилятору нодлиста, чтобы распознать пойнтлист немецкого формата points24 - чтобы он видел правильные 5D пойнтовые адреса вместо фейковых.

## Ключевые слова EmailPkt

### sendMailCmd

Синтаксис:
  `sendMailCmd string`
Пример:
  `sendMailCmd /usr/sbin/sendmail $a <$f>`

Это ключевое слово используется для определения команды отправки почты и ее параметров. Макрос '$a' указывает положение e-mail адреса получателя; макрос '$f' указывает положение имени файла с телом письма. Если '$f' опущен, тело письма будет заполняться из stdin.

Этот оператор не может повторяться.

### email

Синтаксис:
  `email <email-address>`
Пример:
  `email eddie@ironmaiden.com`

Это ключевое слово используется для указания e-mail адреса линка. Может быть использовано для отправки pkt по e-mail.

Этот оператор может повторяться только для разных линков.

### emailFrom

Синтаксис:
  `emailFrom <email-address>`
Пример:
  `emailFrom fred@ironmaiden.com`

Это ключевое слово используется для указания e-mail адреса, используемого как адрес отправителя в исходящих письмах для этого линка.

Этот оператор может повторяться только для разных линков.

### emailSubj

Синтаксис:
  `emailSubj <subject>`
Пример:
  `emailSubj Fido over EMail message in UUE format`

Это ключевое слово используется для указания поля "Тема" в письмах к и от этого линка. Оно может игнорироваться некоторыми кодировками (например, SEAT).

Этот оператор может повторяться только для разных линков.

### emailEncoding

Синтаксис:
  `emailEncoding (MIME | SEAT | UUE)`
Пример:
  `emailEncoding MIME`

Это ключевое слово используется для указания кодировки исходящих на этого линка писем.

Этот оператор может повторяться только для разных линков.

## Ключевые слова BSOpack

Эта секция содержит только список ключевых слов. Читайте документацию на BsoPack.

    maxunpackednetmail
    packnetmail

## Ключевые слова herp

Herp - это Husky External file Request Processor (внешний фрек-процессор). Следующие ключевые слова fidoconfig специфичны для herp. Некоторые программы herp, в частности ``herpidx'`, также используют часть конфигурации ``htick'`, например, определения файловых областей.

### reqidxdir

Синтаксис:
  `reqidxDir <path>`
Пример:
  `reqidxDir /var/spool/fido/reqidx`

Эта команда указывает директорию, которая будет использоваться для хранения индекса запросов, сгенерированного ``herpidx'`. Эта директория должна быть доступной для записи для процесса ``herpidx'` и как минимум доступной для чтения для пользователя, под которым будут запускаться ваш мейлер и ``herp'`. ``herpidx'` будет размещать здесь разнообразные файлы индексов запросов. Эта директория не должна использоваться ни для каких других целей. Индекс может стать довольно большим, так что отведите достаточно места.

## Пример работающего конфига

    # sample fido config file

    version 0.14 # test for new stripComment
    Name hpt-HQ
    Location Paderborn, GER
    Sysop Matthias Tichy

    LogLevels 456789

    Address 2:2432/645
    Address 44:4932/110
    Address 21:499/976
    Address 49:199/976
    Address 54:490/976
    Address 64:199/976
    Address 530:199/976

    # This is taken from Serge Koghin's ParToss
    # Hope he wouldn't be angry for this
    # ATTENTION the commented lines are not tested by me (mtt)
    # and will mostly be only useful on dos-systems

    Unpack  "unzip  -j -Loqq $a -d $p" 0 504b0304
    Unpack "\path\pkzipc -ext -dir=none -over=all -nozip -silent $a $p $f" 0 504b0304
    #Unpack "pkunzip -njCL $a -d $p $f" 0 504b0304
    #Unpack "pkzip25 -ext -silent -over=all -nofix -nozip $a $p $f" 0 504b0304
    Pack  zip zip -9 -j -q $a $f

    Unpack  "arc eno $a $p'*.*'" 0 1a

    #Unpack  "pkunpak /r $a $p" 0 1a
    #Pack  arc pkpak -oct a $a $f

    #Unpack  "pak e /wn $a $p" -2 fe
    #Pack  pak pak a $a $f

    #Unpack  "lha e /m $a $p" 2 2d6c68
    #Pack  lha lha a /o /m $a $f

    #Unpack  "zoo e:O $a $p" 0 5a4f4f
    #Pack  zoo zoo a: $a $f

    #Unpack  "arj e -+ -y $a $p" 0 60ea
    # Unpack  "cd $p && /usr/bin/unarj e $a > /dev/null" 0 60ea # for Linux
    #Pack  arj arj a -+ -e -y $a $f

    # *.rar
    Unpack  "unrar e -y -c- -inul $a $p $f"   0 52617221
    # rar-sfx/DOS
    Unpack "unrar e -y -c- -inul $a $p $f" 28 52534658
    #Pack  rar rar a -std -ep $a $f

    #Unpack  "jar e -y $a $p" 14 1a4a61721b
    #Pack  jar jar a -y $a $f

    #Unpack  "ha eyq $a"  0 4841
    #Pack  ha ha a21eq $a $f

    # include /etc/fido/areas

    Link Matthias Schniedermeyer
    Aka 2:2432/600
    ourAka 2:2432/645
    Password xxxxxxxxx
    EchoMailFlavour Crash
    AutoAreaCreate on
    AutoAreaCreateDefaults -p 14 -dupeCheck move -dupeHistory 11
    AutoFileCreate on
    forwardRequests on
    Packer zip

    Link Matthias Schniedermeyer
    Aka 44:4932/100
    ourAka 44:4932/110
    password xxxxxxxx
    EchoMailFlavour Crash
    AutoAreaCreate on
    AutoFileCreate on
    AutoAreaCreateDefaults -p 14 -dupeCheck move -dupeHistory 11
    Packer zip

    Link Carsten Ellermann
    Aka 2:2432/215
    ourAka 2:2432/645
    password xxxxxxx
    autoAreaCreate on
    AutoAreaCreateDefaults -p 14 -dupeCheck move -dupeHistory 11
    autoFileCreate on

    Link Matthias Tichy
    Aka 2:2432/646
    ourAka 2:2432/645
    Password xxxxxxxx
    autoAreaCreate on
    AutoAreaCreateDefaults -p 14 -dupeCheck move -dupeHistory 11
    forwardPkts on

    Link Matthias Tichy
    Aka 21:499/980
    ourAka 21:499/976
    Password xxxxxxx
    autoAreaCreate on
    AutoAreaCreateDefaults -p 14 -dupeCheck move -dupeHistory 11
    forwardPkts on

    Link Matthias Tichy
    Aka 49:199/980
    ourAka 49:199/976
    Password xxxxxxxx
    autoAreaCreate on
    AutoAreaCreateDefaults -p 14 -dupeCheck move -dupeHistory 11
    forwardPkts on

    Link Matthias Tichy
    Aka 54:490/980
    ourAka 54:490/976
    Password xxxxxxx
    autoAreaCreate on
    AutoAreaCreateDefaults -p 14 -dupeCheck move -dupeHistory 11
    forwardPkts on

    Link Matthias Tichy
    Aka 64:199/980
    ourAka 64:199/976
    Password xxxxxxxx
    autoAreaCreate on
    AutoAreaCreateDefaults -p 14 -dupeCheck move -dupeHistory 11
    forwardPkts on

    Link Matthias Tichy
    Aka 530:199/980
    ourAka 530:199/976
    Password xxxxxxxx
    autoAreaCreate on
    AutoAreaCreateDefaults -p 14 -dupeCheck move -dupeHistory 11
    forwardPkts on

    Link Matthias Born
    Aka 2:240/6223
    ourAka 2:2432/645
    Password xxxxxxx
    EchoMailFlavour hold
    Packer zip

    Link Matthias Born
    Aka 44:4932/120
    ourAka 44:4932/110
    Password xxxxxxx
    EchoMailFlavour hold
    Packer zip

    Link Sascha Silbe
    Aka 2:2435/424
    ourAka 2:2432/645
    AutoFileCreate on
    Password xxxxxxxx

    Link Sascha Silbe
    Aka 54:490/963
    ourAka 54:490/976
    AutoFileCreate on
    Password xxxxxxxxx

    Link Alfred Cleve
    Aka 2:244/6260
    ourAka 2:2432/645
    password xxxxxxxxxxx
    packer zip
    EchoMailFlavour crash
    autoAreaCreate on
    AutoAreaCreateDefaults -p 14 -dupeCheck move -dupeHistory 11

    ; +++ FREEPNT-MARKE +++

    #route crash 2:2433/1245 *
    #route hold  2:2433/1247.100 2:2433/1247.100
    #route Crash  2:2433/1245 2:2433/*
    #route hold noroute 2:2433/1245.*
    #route crash host 2:2433/*
    #route crash enc no-route *

    route hold noroute 2:2432/645.*
    route hold noroute 2:240/6223.*
    route crash noroute 2:2432/646
    route hold 44:4932/120 44:4932/120 44:4932/130
    Route crash 44:4932/100 44:*
    Route crash 49:199/980 49:*
    Route crash 54:490/980 54:*
    Route crash 530:199/980 530:*

    Route normal 2:2435/424 2:2435/*

    Route crash 2:2432/646 *

    Inbound         /home/mtt/fido/in/
    ProtInbound     /home/mtt/fido/in.sec
    LocalInbound    /home/mtt/fido/in.loc
    Outbound        /home/mtt/fido/out/
    tempOutbound    /home/mtt/fido/out.tmp
    tempInbound     /home/mtt/fido/in.tmp
    #MsgBaseDir      Passthrough
    MsgBaseDir      /home/mtt/fido/msgb
    FileAreaBaseDir /home/mtt/fido/files

    public          /home/mtt/fido/public
    # public                /home/mtt/fido/public2

    # intab           /home/mtt/fido/recode/outaltkoi8
    # outtab          /home/mtt/fido/recode/outkoi8alt

    echotosslog     /home/mtt/fido/echotoss.log
    importlog       /home/mtt/fido/import.log

    logFileDir      /home/mtt/fido/hpt/linux
    DupeHistoryDir  /home/mtt/fido/dupes
    NodelistDir     /home/mtt/fido/nodelist
    PassFileAreaDir     /home/mtt/fido/passFileDir
    magic           /home/mtt/fido/magic
    lockfile        /home/mtt/fido/lock

    areafixhelp     /home/mtt/fido/hpt/misc/areafix.hlp
    FileFixHelp     /home/mtt/fido/htick/misc/filefix.hlp

    AreafixReportsAttr loc pvt k/s npd dir
    FilefixReportsAttr loc pvt k/s npd dir

    NodeList nodelist
    DiffUpdate /home/mtt/fido/files/nodediff
    NodeList unionnet
    Nodelist geonode
    Nodelist linuxnet
    DiffUpdate /home/mtt/fido/files/lin44.node

    NetmailArea NetmailArea /home/mtt/fido/msgb/netmail -b msg
    # NetmailArea NetmailArea /home/mtt/fido/msgb/net -b  Squish
    BadArea     BadArea     /home/mtt/fido/msgb/bad -b Squish
    DupeArea    DupeArea    /home/mtt/fido/msgb/dupe -b Squish

    EchoArea 2432.points      /home/mtt/fido/msgb/2432/points       -a 2:2432/645  -b  Squish -p 14 2:2432/600
    EchoArea 2432.Talk        /home/mtt/fido/msgb/2432/talk         -a 2:2432/645  -b  Squish -p 14 2:2432/600
    EchoArea C_ECHO.ger       /home/mtt/fido/msgb/c_echo_g          -a 2:2432/645  -b  Squish -p 14 2:2432/600
    EchoArea C_PLUSPLUS.ger   /home/mtt/fido/msgb/c_plpl_g          -a 2:2432/645  -b  Squish -p 14 2:2432/600
    EchoArea binkley          /home/mtt/fido/msgb/binkley           -a 2:2432/645  -b  Squish -p 14 2:2432/600
    EchoArea Binkley.ger      /home/mtt/fido/msgb/binkley_g         -a 2:2432/645  -b  Squish -p 14 2:2432/600
    EchoArea hardrock.ger     /home/mtt/fido/msgb/hardrock_g        -a 2:2432/645  -b Squish -p 14 2:2432/600
    EchoArea   linux.ger        /home/mtt/fido/msgb/linux/ger           -a 2:2432/645  -b Squish -p 14 -dupecheck move -dupeHistory 11  2:2432/646
    echoArea linux.develop.ger /home/mtt/fido/msgb/linux/develop_g   -a 2:2432/645 -b Squish  -dupeCheck move -dupeHistory 11  2:2432/646
    EchoArea os2.base.ger     /home/mtt/fido/msgb/os2/base_g        -a 2:2432/645  -b Squish -p 14 2:2432/600
    EchoArea os2.beta.ger     /home/mtt/fido/msgb/os2/beta_g        -a 2:2432/645  -b Squish -p 14 2:2432/600
    EchoArea os2bbs.ger       /home/mtt/fido/msgb/os2/bbs_g         -a 2:2432/645  -b Squish -p 14 2:2432/600
    EchoArea os2.debate.ger   /home/mtt/fido/msgb/os2/debate_g      -a 2:2432/645  -b Squish -p 14 2:2432/600
    EchoArea os2.install.ger  /home/mtt/fido/msgb/os2/install_g     -a 2:2432/645  -b Squish -p 14 2:2432/600
    EchoArea Os2.wps.ger      /home/mtt/fido/msgb/os2/wps_g         -a 2:2432/645  -b Squish -p 14 2:2432/600
    EchoArea Os2.prog.ger     /home/mtt/fido/msgb/os2/prog_g        -a 2:2432/645  -b Squish -p 14 2:2432/600
    EchoArea Os2.lan.ger      /home/mtt/fido/msgb/os2/lan_g         -a 2:2432/645  -b Squish -p 14 2:2432/600
    EchoArea os2.hw.ger       /home/mtt/fido/msgb/os2/hw_g          -a 2:2432/645  -b Squish -p 14 2:2432/600
    EchoArea os2.online.ger   /home/mtt/fido/msgb/os2/online_g      -a 2:2432/645  -b Squish -p 14 2:2432/600
    EchoArea os2.tec.ger      /home/mtt/fido/msgb/os2/tec_g         -a 2:2432/645  -b Squish -p 14 2:2432/600
    EchoArea OWL.Newfiles     /home/mtt/fido/msgb/owl/newfiles      -a 2:2432/645  -b Squish -p 14 2:2432/600
    EchoArea owl.announce     /home/mtt/fido/msgb/owl/announce      -a 2:2432/645  -b Squish -p 14 2:2432/600
    EchoArea owl.flea         /home/mtt/fido/msgb/owl/flea          -a 2:2432/645  -b Squish -p 14 2:2432/600
    EchoArea owlserver.news   /home/mtt/fido/msgb/owl/snews         -a 2:2432/645  -b Squish -p 14 2:2432/600
    EchoArea Paderborn.Flohmarkt  /home/mtt/fido/msgb/pader/floh    -a 2:2432/645  -b Squish -p 14 2:2432/600
    EchoArea Tolkien.ger      /home/mtt/fido/msgb/tolkien_g         -a 2:2432/645  -b Squish -dupeCheck move -p 14 2:2432/600
    EchoArea Schweden.ger     /home/mtt/fido/msgb/schweden_g        -a 2:2432/645  -b Squish -tinySB -p 14 2:2432/600

    LocalArea carbonArea       /home/mtt/fido/msgb/carbonArea  -b Squish

    CarbonTo Matthias Tichy
    CarbonCopy carbonArea

    EchoArea paderborn.mailbox /home/mtt/fido/msgb/paderborn.mailbox -a 2:2432/645 -b  Squish -dupeCheck move -dupeHistory 11 -p 14 2:2432/600
    EchoArea owl.allfix /home/mtt/fido/msgb/owl.allfix -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea fidosoft.winpoint.ger /home/mtt/fido/msgb/fidosoft.winpoint.ger -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea net_dev.ger /home/mtt/fido/msgb/net_dev.ger -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea net_dev /home/mtt/fido/msgb/net_dev -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea fidosoft.ger /home/mtt/fido/msgb/fidosoft.ger -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea linux.bbs /home/mtt/fido/msgb/linux.bbs -a 44:4932/110 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100
    EchoArea linux.software /home/mtt/fido/msgb/linux.software -a 44:4932/110 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100
    EchoArea linux.setup /home/mtt/fido/msgb/linux.setup -a 44:4932/110 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100
    EchoArea linux.reg /home/mtt/fido/msgb/linux.reg -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea linux.netzwerk /home/mtt/fido/msgb/linux.netzwerk -a 44:4932/110 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100
    EchoArea linux.announce /home/mtt/fido/msgb/linux.announce -a 44:4932/110 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100
    EchoArea linux.hardware /home/mtt/fido/msgb/linux.hardware -a 44:4932/110 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100
    EchoArea darkness.info /home/mtt/fido/msgb/darkness.info -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11  2:2432/600
    EchoArea linux.coord /home/mtt/fido/msgb/linux.coord -a 44:4932/110 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100
    EchoArea 2432.nodes.info /home/mtt/fido/msgb/2432.nodes.info -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea linux.office /home/mtt/fido/msgb/linux.office -a 44:4932/110 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100
    EchoArea linux.develop /home/mtt/fido/msgb/linux.develop -a 44:4932/110 -b  Squish -p 14 -dupeCheck move -dupeHistory 11  44:4932/100
    EchoArea linux.x /home/mtt/fido/msgb/linux.x -a 44:4932/110 -b  Squish -p 14 -dupeCheck move -dupeHistory 11  44:4932/100
    EchoArea 2432.nodes /home/mtt/fido/msgb/2432.nodes -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea fido2000.ger /home/mtt/fido/msgb/fido2000.ger -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea java.ger /home/mtt/fido/msgb/java.ger -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea ftsc_public /home/mtt/fido/msgb/ftsc_public -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/646
    EchoArea BINKLEY.DEVELOP /home/mtt/fido/msgb/binkley.develop -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/215

    FileArea binkley.dev /home/mtt/fido/files/binkley.dev -a 2:2432/645  -d "Binkleyterm Development: Source Diffs, Misc, stuff" 2:2432/215
    FileArea btxebos2 /home/mtt/fido/files/btxebos2 -a 2:2432/645  -d "Binkleyterm Development: Beta Binaries for OS/2" 2:2432/215
    FileArea btxebsrc /home/mtt/fido/files/btxebsrc -a 2:2432/645  -d "Binkleyterm Development: Beta Source" 2:2432/215
    FileArea btxebw32 /home/mtt/fido/files/btxebw32 -a 2:2432/645  -d "Binkleyterm Development: Beta Binaries for Win32" 2:2432/215
    EchoArea golded.ger /home/mtt/fido/msgb/golded.ger -b Squish -a 2:2432/645 -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea fidosoft.husky /home/mtt/fido/msgb/fidosoft.husky -b Squish -a 2:2432/645 -dupeCheck move -dupeHistory 11 2:2432/646 2:240/6223
    EchoArea darkness.points /home/mtt/fido/msgb/darkness.points -a 2:2432/645 -b  Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea linux.fido.ger /home/mtt/fido/msgb/linux.fido.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/646
    EchoArea FUSSBALL.GER /home/mtt/fido/msgb/fussball.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea PGP.GER /home/mtt/fido/msgb/pgp.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea HARDWARE.SCSI.GER /home/mtt/fido/msgb/hardware.scsi.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea TV.GER /home/mtt/fido/msgb/tv.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea CDWRITER.GER /home/mtt/fido/msgb/cdwriter.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea FASTECHO.GER /home/mtt/fido/msgb/fastecho.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea URTEILE.GER /home/mtt/fido/msgb/urteile.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea PRO_WRESTLING /home/mtt/fido/msgb/pro_wrestling -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea SPORT.EISHOCKEY.GER /home/mtt/fido/msgb/sport.eishockey.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea RAETSEL.GER /home/mtt/fido/msgb/raetsel.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea WRESTLING.GER /home/mtt/fido/msgb/wrestling.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea JAZZ.GER /home/mtt/fido/msgb/jazz.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea TV.SITCOM.GER /home/mtt/fido/msgb/tv.sitcom.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea FAEKAL.GER /home/mtt/fido/msgb/faekal.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea STEUER.GER /home/mtt/fido/msgb/steuer.ger -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/600
    EchoArea LINUX.TALK /home/mtt/fido/msgb/linux.talk -a 44:4932/110 -b Squish -p 14 -dupeCheck move -dupeHistory 11 44:4932/100
    EchoArea LINUX /home/mtt/fido/msgb/linux -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/646 2:240/6223
    EchoArea FTN.BACKBONE.INFO /home/mtt/fido/msgb/ftn.backbone.info -a 2:2432/645 -b Squish -p 14 -dupeCheck move -dupeHistory 11 2:2432/646
    FileArea 24000 /home/mtt/fido/files/24000 -a 2:2432/645  2:2432/600
    FileArea NODEDIFF /home/mtt/fido/files/nodediff -a 2:2432/645  2:2432/600
    FileArea LIN44.NODE /home/mtt/fido/files/lin44.node -a 44:4932/110  44:4932/100
    FileArea LIN44.POINT /home/mtt/fido/files/lin44.point -a 44:4932/110  44:4932/100
    EchoArea GN.ALLGEMEIN /home/mtt/fido/msgb/gn.allgemein -a 54:490/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 54:490/980
    EchoArea GN.ANNOUNCE /home/mtt/fido/msgb/gn.announce -a 54:490/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 54:490/980
    EchoArea SN.GEW.IGMEDIEN.ALLG /home/mtt/fido/msgb/sn.gew.igmedien.allg -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.RECHT.ARB.URTEILE /home/mtt/fido/msgb/sn.recht.arb.urteile -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.RECHT.SOZ.DISKUSSION /home/mtt/fido/msgb/sn.recht.soz.diskussion -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.RECHT.ARB.DISKUSSION /home/mtt/fido/msgb/sn.recht.arb.diskussion -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.BETR.BR+PR /home/mtt/fido/msgb/sn.betr.br+pr -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.BETR.VEREINBARUNGEN /home/mtt/fido/msgb/sn.betr.vereinbarungen -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea GN.CLUBS /home/mtt/fido/msgb/gn.clubs -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.KOO.VORSTELLUNG /home/mtt/fido/msgb/sn.koo.vorstellung -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.GEW.ALLGEMEIN /home/mtt/fido/msgb/sn.gew.allgemein -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.AKTUELL.TERMINE /home/mtt/fido/msgb/sn.aktuell.termine -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.KOO.TEST /home/mtt/fido/msgb/sn.koo.test -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.GEW.GHK /home/mtt/fido/msgb/sn.gew.ghk -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.AKTUELL.AKTIONEN /home/mtt/fido/msgb/sn.aktuell.aktionen -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.BETR.BILDUNG /home/mtt/fido/msgb/sn.betr.bildung -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.GEW.INTERNATIONAL /home/mtt/fido/msgb/sn.gew.international -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.KOO.DISKUSSION /home/mtt/fido/msgb/sn.koo.diskussion -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.GEW.HBV /home/mtt/fido/msgb/sn.gew.hbv -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.GEW.IGMETALL /home/mtt/fido/msgb/sn.gew.igmetall -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.GEW.JUGEND /home/mtt/fido/msgb/sn.gew.jugend -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea GN.CBM /home/mtt/fido/msgb/gn.cbm -a 54:490/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 54:490/980
    EchoArea SN.KOO.WICHTIG /home/mtt/fido/msgb/sn.koo.wichtig -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.KOO.ANTRAEGE /home/mtt/fido/msgb/sn.koo.antraege -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.GEW.THESEN /home/mtt/fido/msgb/sn.gew.thesen -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.GEW.OETV /home/mtt/fido/msgb/sn.gew.oetv -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.FRAUEN /home/mtt/fido/msgb/sn.frauen -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.GEW.HBS /home/mtt/fido/msgb/sn.gew.hbs -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.ARB+SOZ.ALLGEMEIN /home/mtt/fido/msgb/sn.arb+soz.allgemein -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.AKTUELL.VORSCHAU /home/mtt/fido/msgb/sn.aktuell.vorschau -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.ARB+SOZ.ERWERBSLOS /home/mtt/fido/msgb/sn.arb+soz.erwerbslos -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.ARB+SOZ.DISKUSSION /home/mtt/fido/msgb/sn.arb+soz.diskussion -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.BETR.ARBSCHU+UMWELT /home/mtt/fido/msgb/sn.betr.arbschu+umwelt -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea SN.BETR.ARBEIT+TECHNIK /home/mtt/fido/msgb/sn.betr.arbeit+technik -a 49:199/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 49:199/980
    EchoArea GN.SYSOPS /home/mtt/fido/msgb/gn.sysops -a 54:490/976 -b Squish -p 14 -dupeCheck move -dupeHistory 11 54:490/980

# Конвертирование fidoconfig в конфиги golded, msged и aquaed

Так как оригинальный GoldEd от Odinn Sorensen совсем не поддерживает fidoconfig, а msged и aquaed - только в бета версиях, мы разработали три программы, которые конвертируют ваш fidoconfig в эти собственные форматы конфигурационных файлов.

1. fconf2golded fconf2golded <goldedConfigFileName> [<default.cfg>]

       fconf2golded ~/golded/golded.cfg ~/golded/goldDefaults.cfg

2. fconf2msged fconf2msged <msgedConfigFileName>

       fconf2msged ~/msged.areas

3. fconf2aquaed fconf2aquaed <aquaedConfigFileName> [<default.cfg>] (если вы указываете default.cfg, в вашем конфигурационном файле будет сгенерирован include <default.cfg> - подключение default.cfg)

       fconf2aquaed ~/aquaed/aquaed.cfg

# Проверка конфига

Вам следует запускать @command{tparser} каждый раз после того, как вы изменили конфиг. Если tparser нашел ошибку в конфиге, пожалуйста, исправьте его и попробуйте снова.

Синтаксис:
  @command{tparser [-h|@minus{-help}] [-Dvar=value] [-E] [-P] [/path/to/config/file]}
Пример:

      @command{tparser -Dmodule=hpt | less}

tparser (как и любая программа fidoconfig) выведет сообщение об ошибке, если вы допустили таковую в конфиге. Также он может вывести какие-то предупреждения о ваших установках в конфиге. Он будет "ворчать" на любое ключевое слово, которое он не знает. Он остановится после первой же ошибки (не предупреждения), чтобы дать вам возможность изменить конфиг.

### Options

-Dvar=value
  Установить переменную конфига `var` в `value`.
-E
  Вывести конфиг на stdout (раскрываются все переменные).
-h
@minus{-help}
  Вывести информацию по использованию.
-P
  Попытаться создать еще не существующие директории.

# Как связаться с автором

Вы можете написать мне на

    mtt@tichy.de
    2:2432/645

и в фидошных эхах

    linux.develop.ger
    fidosoft.husky

Max Levenkov:

    sackett@mail.ru
    ru.husky (русская)
    ru.echoprocessors (русская)
    fidosoft.husky (английская)

Свежая библиотека fidoconfig и другой fido софт будут доступны на http://husky.sourceforge.net.

This document was generated on 19 March 2004 using the texi2html translator version 1.52.